package com.link.base.base.contacts.service;

import com.link.base.base.contacts.model.Contacts;
import com.link.base.base.user.model.User;
import com.link.core.basic.service.BasicService;

import java.util.List;
/**
 * Copyright  hande Company. All Rights Reserved.
 *
 * @author  unknwon
 * @date:   2018/11/9 14:19
 * @version 1.0
 */

public interface ContactsService extends BasicService<Contacts> {
    /**
     * <p>查找非子客户及本身</p>
     *
     * @param account
     * @return
     * @throws  Exception
     */
    public List<Contacts> queryContactsListRemoveIdAndChildrenPage(Contacts account) throws Exception;

    /**
     * 联系人树形结构
     * @param entity
     * @return
     * @throws Exception
     */
    public List<Contacts> contactsTreeList(Contacts entity) throws Exception;

    /**
     * 创建客户账号
     *
     * @param entity
     * @return user
     * @throws Exception
     */
    public User createdUserAccount(Contacts entity) throws Exception;

    /**
     * 客户联系人用户账号禁用
     *
     * @param entity
     * @throws Exception
     */
    public void disableUserAccount(Contacts entity) throws Exception;

    /**
     * 更新联系人状态
     *
     * @param entity
     * @throws Exception
     */
    public void statusUpdate(Contacts entity) throws Exception;


}

